/*
 * Copyright 2012 Clement Sannicolo <clement.sannicolo@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

Ext.define('Nutrient.view.food.Show',
{
	extend: 'Ext.panel.Panel',
	alias: 'widget.nutrient.food.show',
	
	requires: [
	    'Nutrient.view.food.chart.ComponentsDonut'
	],

	autoScroll: true,

	items: [{
		id: 'nutrient-food-show-header',
		xtype: 'panel',
		border: false,
		tpl: [
		    '<div class="title">{name}</div>'
		]
	}, {
		id: 'nutrient-food-show-componentsdonut',
		xtype: 'nutrient.food.chart.componentsdonut',
		border: false
	}],

	initComponent: function()
	{	
		App.getStore('Nutrient.store.Food').on('update', this.onStoreUpdate, this);
		
		this.callParent(arguments);
	},

	onStoreUpdate: function(store, record, operation, modifiedFieldNames, options)
	{
		if (this.record && this.record.getId() == record.getId())
		{
			this.loadRecord(record);
		}
	},

	loadRecord: function(record)
	{
		this.record = record;
		this.getComponent('nutrient-food-show-header').update(record.data);
		this.getComponent('nutrient-food-show-componentsdonut').update(record.data);
	}
});